Skip to content

[L-01] VestingWallet audit - 417#463

Merged
ericnordelo merged 1 commit into
release-v1.4from
fix/vesting-wallet-audit-417-L-01
Jul 9, 2026
Merged

[L-01] VestingWallet audit - 417#463
ericnordelo merged 1 commit into
release-v1.4from
fix/vesting-wallet-audit-417-L-01

Conversation

@ericnordelo

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings July 8, 2026 10:35
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 86e746f6-53f9-4d10-94a8-7dbbe6da37b4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/vesting-wallet-audit-417-L-01

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates operational documentation around VestingWallet teardown to clarify retryability and stranded-funds risk in the presence of newly settled or in-flight funds.

Changes:

  • Clarifies that destroy_empty can abort with EUnsweptFunds when third-party funds settle before teardown, so teardown should be treated as retryable (sweep then retry).
  • Expands the warning that funds sent in the same checkpoint as teardown (or after UID deletion) may become permanently unrecoverable, recommending waiting at least one full checkpoint before teardown.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
contracts/finance/sources/vesting_wallet.move Refines destroy_empty documentation to emphasize retryability on EUnsweptFunds and checkpoint-related stranded-funds risk.
contracts/finance/sources/vesting_wallet_linear.move Updates linear wallet teardown docs to match core wallet guidance on retryability and checkpoint timing risks.

@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.36%. Comparing base (dec4e32) to head (dd48ddd).

Additional details and impacted files
@@              Coverage Diff              @@
##           release-v1.4     #463   +/-   ##
=============================================
  Coverage         80.36%   80.36%           
=============================================
  Files                25       25           
  Lines              1971     1971           
  Branches            679      678    -1     
=============================================
  Hits               1584     1584           
  Misses              350      350           
  Partials             37       37           
Flag Coverage Δ
contracts/access 65.46% <ø> (ø)
contracts/finance 26.86% <ø> (ø)
contracts/utils 44.09% <ø> (ø)
math/fixed_point 56.51% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ericnordelo ericnordelo merged commit eb9e3cb into release-v1.4 Jul 9, 2026
20 of 21 checks passed
@ericnordelo ericnordelo deleted the fix/vesting-wallet-audit-417-L-01 branch July 9, 2026 10:57
ericnordelo added a commit that referenced this pull request Jul 9, 2026
* fix: N-02 (#447)

* fix: N-03 (#448)

* fix: N-04 (#449)

* fix: N-01 (#446)

* fix: N-06 (#451)

* fix: N-07 (#452)

* [N-08] VestingWallet audit (#453)

* fix: N-08

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* fix: N-05 (#450)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Add PR417 changes to release v1.4 (#456)

* feat: update comment

* feat: Make VestingWallet work with address balances (#417)

* feat: use balance instead of coin

* test: fix tests

* test: fix

* ref: use releasable inside release

* feat: update destroy_empty to check address balance too

* docs: add missing sections and field docs

* docs: fix minor leftovers

* docs: sync pausable_grant header with current API

* docs: add missing doc sections to splitter

* docs: update stale docs that refd Coin as focus on VW

* docs: update splitter docs

* docs: add TODO for splitter::disperse

* feat: merge + add Swept event

* test: add test stubs for sweep

* docs: Extended the destroy_empty caveat to cover both stranding paths

* ref: apply code-quality to vesting_wallet.move

* ref: apply code-quality to vesting_wallet_linear.move

* ref: apply code-quality to tests

* ref: apply code-quality to examples

---------

Co-authored-by: immrsd <103599616+immrsd@users.noreply.github.com>
(cherry picked from commit 85448ce)

* feat: apply review updates

* Update contracts/finance/sources/vesting_wallet.move

Co-authored-by: Nenad <nenad.misic@openzeppelin.com>

---------

Co-authored-by: Nenad <nenad.misic@openzeppelin.com>
Co-authored-by: immrsd <103599616+immrsd@users.noreply.github.com>

* feat: re-apply fix (#466)

* fix: L-01 (#463)

* [N-01] VestingWallet audit - 417 (#464)

* fix: N-01

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: N-02 (#465)

* feat: bring allowance (#467)

* Prepare release 1.4 (#468)

* feat: bring allowance

* feat: prepare release

* feat: update READMEs

* fix: workflow

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Nenad <nenad.misic@openzeppelin.com>
Co-authored-by: immrsd <103599616+immrsd@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants